package com.cloudlead.commonData.vo;

import com.cloudlead.common.lang.persistence.AbstractIdEntity;

import com.cloudlead.commonData.action.validator.BaseDoorValidatorGroup.*;

import javax.validation.constraints.Size;
import com.cloudlead.common.lang.annotation.BelongsTos;
import com.cloudlead.common.lang.annotation.Domain;
import com.cloudlead.common.lang.annotation.Label;
import com.cloudlead.commonData.vo.Region;
import java.lang.String;
import javax.validation.constraints.NotNull;

/**
 * BaseDoor is a Codegen vo type
 */
@Label("BaseDoor")
@BelongsTos(values = {
	@com.cloudlead.common.lang.annotation.BelongsTo(property="basePlace", rootField="basePlaceId")
})
@Domain(domainClassName="com.cloudlead.commonData.entity.EBaseDoor")
public class BaseDoor extends AbstractIdEntity<String> {

    private static final long serialVersionUID =7523103440149L;    
    @NotNull(groups={Create.class,Update.class})
    @Label("basePlaceId")
    private Region basePlace;

    @Label("comments")
    @Size(max=256)
    private String comments;

    @NotNull(groups={Update.class})
    @Label("id")
    @Size(max=24)
    private String id;

    @Label("name")
    @Size(max=45)
    private String name;

    public Region getBasePlace() {
        return basePlace;
    }

    public void setBasePlace(Region basePlace) {
        this.basePlace = basePlace;
    }

    public String getComments() {
        return comments;
    }

    public void setComments(String comments) {
        this.comments = comments;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String toString() {
         return String.format("BaseDoor { basePlace : %s,comments : %s,id : %s,name : %s }",basePlace,comments,id,name);
    }

}

